package com.example.piece.repository

import com.example.base.entity.Rest
import com.example.base.repository.BaseRepository
import com.example.piece.entity.HelperJokeShareEntity
import com.example.piece.entity.HelperQQserviceEntity
import com.example.piece.entity.HelperQiniuTokenEntity
import com.example.piece.net.NetManager
import retrofit2.http.Query

class HelperRepository : BaseRepository() {

    /** 1
     * 意见反馈
     * @param brand 设备品牌
     * @param contact 联系方式
     * @param content 反馈的内容
     * @param pics 图片链接，多图用,分割，图片请先上传至七牛云
     * @param product 设备型号
     * @param release_version 系统版本号
     * @param version_code 当前版本code
     * @param version_name 当前版本号
     *
     * @see Unit
     */
    suspend fun helperFeedback(
        brand: String,
        contact: String,
        content: String,
        pics: String,
        product: String,
        release_version: String,
        version_code: String,
        version_name: String
    ) = request {
        NetManager.apiService.helperFeedback(
            brand,
            contact,
            content,
            pics,
            product,
            release_version,
            version_code,
            version_name
        )
    }

    /**
     * 2
     * 获取热搜关键词
     * @see  List<String>
     */
    suspend fun helperHotSearch() = request {
        NetManager.apiService.helperHotSearch()
    }


    /**
     * 3
     * 获取jokes分享的内容
     *  @param id 被分享的段子id
     *  @see HelperJokeShareEntity
     */
    suspend fun helperJokeShare(id: String) = request {
        NetManager.apiService.helperJokeShare(id)
    }

    /**
     * 4
     * 段子分享成功计数
     * @param id 被分享的段子id
     * 分享段子成功之后需要调用此接口进行计数
     * @see Unit
     */
    suspend fun helperJokeShareCount(id: String) = request {
        NetManager.apiService.helperJokeShareCount(id)
    }

    /**
     * 5
     * 获取七牛云token
     * 上传头像或者上传图片段子或者上传视频段子之前需要获取七牛云的token
     * @param filename  文件名称，要带后缀
     * @param type     类型 type 0 获取普通token type 1 获取头像token
     * @see  HelperQiniuTokenEntity
     */
    suspend fun helperQiniuToken(filename: String, type: String) = request {
        NetManager.apiService.helperQiniuToken(filename, type)
    }

    /**
     * 6
     * 获取qq群信息
     *获取添加qq群的信息
     * @see HelperQQserviceEntity
     */
    suspend fun helperQQservice() = request {
        NetManager.apiService.helperQQservice()
    }

    /**
     * 7
     * 举报内容
     * 举报用户或者举报段子
     * @param content 举报的内容
     * @param report_tips  举报描述信息，预置的选择项
     * @param target_id  0 段子id 1 用户id
     * @param type  0 举报段子 1 举报用户
     * @see Unit
     */
    suspend fun helperJokeShareCount(content: String, report_tips: String, target_id: String, type: String) = request {
        NetManager.apiService.helperJokeShareCount(content, report_tips, target_id, type)
    }

    /**
     * 8
     * 获取分享用户的内容
     *@see HelperJokeShareEntity
     */
    suspend fun helperUserShare() = request {
        NetManager.apiService.helperUserShare()
    }
}